﻿using System;
using System.Xml;

namespace MockingBird.Simulator.Framework.Interfaces
{
    public interface ISoapFaultBuilder
    {
        /// <summary>
        /// Builds a Soap fault from the provided data
        /// </summary>
        /// <param name="responseFile">file containing the xml text of the body</param>
        /// <returns>XmlDocument representing the full soap fault</returns>
        XmlDocument BuildSoapFault(string responseFile);

        /// <summary>
        /// Builds a soap fault from the provided data 
        /// </summary>
        /// <param name="responseData">XmlDocument containing the response data</param>
        /// <returns>XmlDocument representing the full soap fault</returns>
        XmlDocument BuildSoapFault(XmlDocument responseData);

        /// <summary>
        /// Builds a soap fault from an exception
        /// </summary>
        /// <param name="e">Exception that acts a source for the fault info</param>
        /// <returns>XmlDocument representing the full soap fault</returns>
        XmlDocument BuildSoapFault(Exception e);
    }
}
